cssnode: Add optimization
authorBenjamin Otte <otte@redhat.com>
Sun, 22 Feb 2015 05:19:33 +0000 (06:19 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 18 Mar 2015 14:23:32 +0000 (15:23 +0100)
Don't even try to propagate changes when we know there are none.

gtk/gtkcssnode.c

index cb2b43d62a045e048820503b5b0eb9dd702b1e08..d6c2c4093345d838629fc733e55244342cc1528f 100644 (file)
@@ -579,6 +579,9 @@ gtk_css_node_propagate_pending_changes (GtkCssNode *cssnode,
   if (style_changed)
     change |= GTK_CSS_CHANGE_PARENT_STYLE;
 
+  if (!cssnode->invalid && change == 0)
+    return;
+
   for (child = gtk_css_node_get_first_child (cssnode);
        child;
        child = gtk_css_node_get_next_sibling (child))